<?php

/**
 * Admin_VydavatelController
 *
 * @author Petr Fořt
 * @package Knihovna\Modules\Admin\Controllers
 */

class Admin_VydavatelController extends Zend_Controller_Action
{

    public function init()
    {

    }

     /**
     * Vypsání vydavatelů
     *
     * @author Petr Fořt
     * @return void
     */
    public function indexAction()

    {
       $vydavatele = new Knihovna_Model_DbTable_Vydavatel();
       $this->view->vydavatele = $vydavatele->fetchAll();

        //vypsání flashMessage
        $flashMessage = $this->_helper->flashMessenger;
        $this->view->message = $flashMessage->getMessages();

    }

     /**
     * Přidání vydavatele
     *
     * @author Petr Fořt
     * @return void
     */
    public function addAction()
    {

        $form = new Admin_Form_Vydavatel();
        $this->view->form = $form;

        if ($this->getRequest()->isPost()) {
            $formData = $this->getRequest()->getPost();

            if ($form->isValid($formData)) {
                $jmeno = $form->getValue('jmeno');
                $ico = (int)$form->getValue('ico');
                $ulice = $form->getValue('ulice');
                $mesto = $form->getValue('mesto');
                $cp = $form->getValue('cp');
                $psc = $form->getValue('psc');
                $telefon = $form->getValue('telefon');
                $fax = $form->getValue('fax');
                $www = $form->getValue('www');

                $vydavatele = new Knihovna_Model_DbTable_Vydavatel();
                $vydavatele->pridejVydavatele($jmeno, $ico, $ulice, $mesto, $cp, $psc, $telefon, $fax, $www);
                $this->_helper->redirector('index');

        } else {
            $form->populate($formData);
        }
        }

    }

     /**
     * Úprava vydavatele
     *
     * @author Petr Fořt
     * @return void
     */
    public function editAction()
    {

        $form = new Admin_Form_Vydavatel();
        $this->view->form = $form;

        if ($this->getRequest()->isPost()) {
            $formData = $this->getRequest()->getPost();

        $this->view->form = $form;

        if ($form->isValid($formData)) {

            $id = (int)$form->getValue('id_vydavatele');
            $jmeno = $form->getValue('jmeno');
            $ico = (int)$form->getValue('ico');
            $ulice = $form->getValue('ulice');
            $mesto = $form->getValue('mesto');
            $cp = $form->getValue('cp');
            $psc = (int)$form->getValue('psc');
            $telefon = $form->getValue('telefon');
            $fax = $form->getValue('fax');
            $www = $form->getValue('www');

            $vydavatele = new Knihovna_Model_DbTable_Vydavatel();
            $vydavatele->upravVydavatele($id, $jmeno, $ico, $ulice, $mesto, $cp, $psc, $telefon, $fax, $www);
            $this->_helper->redirector('index');

        } else {
            $form->populate($formData);
        }

        } else {
            $id = $this->_getParam('id_vydavatele', 0);

            if ($id > 0) {
                $vydavatele = new Knihovna_Model_DbTable_Vydavatel();
                $form->populate($vydavatele->najdiVydavatele($id));
            }
        }

    }

     /**
     * Smazání vydavatele
     *
     * @author Petr Fořt
     * @return void
     */
    public function deleteAction()
    {

        $form = new Admin_Form_DeleteVydavatel();

        if ($this->getRequest()->isPost() && (false !== $this->getRequest()->getPost('yes', false))) {
            try{
                $id = $this->_getParam('id_vydavatele');
                $vydavatele = new Knihovna_Model_DbTable_Vydavatel();
                $vydavatele ->smazVydavatele($id);
                $this->_helper->flashMessenger('success|Vydavatel byl úspěšně smazán.');
                $this->_helper->redirector('index');
            }catch(Zend_Db_Exception $error){
                $this->_helper->flashMessenger('error|'.$error->getMessage());
            }
        }elseif($this->getRequest()->isPost() && (false !== $this->getRequest()->getPost('no', false))){
            $this->_redirect('/admin/vydavatel/');
        }

        $this->view->form = $form;
    }


}







